package com.xmtlxx.wms.domain.bo;

import com.xmtlxx.common.core.domain.BaseEntity;
import com.xmtlxx.common.core.validate.AddGroup;
import com.xmtlxx.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 智能柜业务对象 t_cabinet_group
 *
 * @author xmtlxx
 * @date 2022-12-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("智能柜业务对象")
public class CabinetGroupBo extends BaseEntity {

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称", required = true)
    @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 编号
     */
    @ApiModelProperty(value = "编号", required = true)
    @NotBlank(message = "编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String cno;

    /**
     * SN编码
     */
    @ApiModelProperty(value = "SN编码", required = true)
    @NotBlank(message = "SN编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String snNumber;

    /**
     * 所属单位
     */
    @ApiModelProperty(value = "所属单位", required = true)
    @NotNull(message = "所属单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long deptId;

    /**
     * 归属仓库
     */
    @ApiModelProperty(value = "归属仓库", required = true)
    @NotBlank(message = "归属仓库不能为空", groups = { AddGroup.class, EditGroup.class })
    private String storeId;

    /**
     * 归属库区
     */
    @ApiModelProperty(value = "归属库区", required = true)
    @NotBlank(message = "归属库区不能为空", groups = { AddGroup.class, EditGroup.class })
    private String areaId;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    private String type;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 财物数量(冗余)
     */
    @ApiModelProperty(value = "财物数量(冗余)")
    private Long pnums;

    /**
     * 柜竖数量(冗余)
     */
    @ApiModelProperty(value = "柜竖数量(冗余)")
    private Long cnums;

    /**
     * 格口数量(冗余)
     */
    @ApiModelProperty(value = "格口数量(冗余)")
    private Long lnums;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Long seq;

    @ApiModelProperty("使用部门")
    private Long useDeptId;
    @ApiModelProperty("架子数")
    private Integer shelfs;

    /**
     * 车辆/货柜
     */
    @ApiModelProperty("车辆/货柜")
    private String cabinetType;

    /**
     * 所在地域
     */
    @ApiModelProperty("所在地域")
    private String region;

    /**
     * 库房
     */
    @ApiModelProperty("库房")
    private String storeHouse;

    private String delFlag;
}
